'use strict';
const db = uniCloud.database()
exports.main = async (event, context) => {
	
	// 首页返回给前端未读列表数
	const collection = db.collection('news')
	if(event.index == 0){
		const newsCount = await collection.where(event.filter).count();
		return {
			code: 0,
			data: newsCount.total,
			msg: '获取成功'
		}
		
	}else if(event.unread == 1){
		const res = await collection.doc(event._id).update({
			is_read: event.unread
		});
		return {
			code: 0,
			data: [],
			msg: '更新已读成功'
		}
	}
	
	
	
	//前端调用此函数需要传入的参数：dbName ，filter ，pageIndex ，pageSize
	var filter = event.filter ? event.filter : {}; //筛选条件，默认为空，格式 {key:'values'}
	var pageIndex = event.pageIndex ? event.pageIndex : 1; //当前第几页，默认为第一页
	var pageSize = event.pageSize ? event.pageSize : 10; //每页取多少条记录，默认为10条
	
	const countResult = await collection.where(filter).count() //获取集合中的总记录数
	const total = countResult.total //得到总记录数
	const totalPage = Math.ceil(total / pageSize) //计算页数
	
	var hasMore; //提示前端是否还有数据
	if (pageIndex > totalPage || pageIndex == totalPage) { //如果没有数据了，就返回false
		hasMore = false
	} else {
		hasMore = true
	}
	
	//查询数据并返回给前端
	return collection.where(filter).skip((pageIndex - 1) * pageSize).limit(pageSize).get().then(res => {
		res.hasMore = hasMore;
		return res; // 返回json给客户端
	})
};
